<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<title>reveal.js</title>

		<link rel="stylesheet" href="css/reset.css">
		<link rel="stylesheet" href="css/reveal.css">
		<link rel="stylesheet" href="css/theme/white.css">

		<!-- Theme used for syntax highlighting of code -->
		<link rel="stylesheet" href="lib/css/monokai.css">

		<!-- Printing and PDF exports -->
		<script>
			var link = document.createElement( 'link' );
			link.rel = 'stylesheet';
			link.type = 'text/css';
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
			document.getElementsByTagName( 'head' )[0].appendChild( link );
        </script>
        
        <style>
            .reveal { font-size: 2em; }
        </style>
	</head>
	<body>
		<div class="reveal">
			<div class="slides">
				<section>
                    <h2>用户画像简介</h2>
                    <img src="1.png" width="50%" height="50%">
                </section>
				<section data-markdown>
                    ## 用户画像简介

                    用户画像建模其实就是对用户进行打标签，从对用户打标签的方式来看，一般分为三种类型：

                    - 统计类标签
                    - 规则类标签
                    - 机器学习类标签
                </section>
                <section data-markdown>
                    ## 统计类标签

                    这类标签是最为基础也最为常见的标签类型，例如对于某个用户来说，他的性别、年龄、城市、星座、近7日活跃时长、近7日活跃天数、近7日活跃次数等字段可以从用户注册数据、用户访问、消费类数据中统计得出。该类标签构成了用户画像的基础。
                </section>
                <section data-markdown>
                    ## 规则类标签

                    该类标签基于用户行为及确定的规则产生。例如对平台上“消费活跃”用户这一口径的定义为近30天交易次数>=2。在实际开发画像的过程中，由于运营人员对业务更为熟悉、而数据人员对数据的结构、分布、特征更为熟悉，因此规则类标签的规则确定由运营人员和数据人员共同协商确定。
                </section>
                <section data-markdown>
                    ## 机器学习类标签

                    该类标签通过数据挖掘产生，应用在对用户的某些属性或某些行为进行预测判断。例如根据一个用户的行为习惯判断该用户是男性还是女性，根据一个用户的消费习惯判断其对某商品的偏好程度。该类标签需要通过算法挖掘产生。
                </section>
                <section data-markdown>
                    ## 标签分类总结

                    在项目工程实践中，一般统计类和规则类的标签即可以满足应用需求，开发中占有较大比例。机器学习挖掘类标签多用于预测场景，如判断用户性别是男是女，判断用户购买商品偏好、判断用户流失意向等。一般地机器学习标签开发周期较长，耗费开发成本较大，因此其开发所占比例较小。
                </section>
                <section data-markdown>
                    ## 标签体系

                    | 标签主题 | 标签类型 | 开发方式 | 是否互斥关系 | 用户维度 |
                    |---------|--------|---------|------------|---------|
                    | 用户属性 | 分类型  | 统计型   | 互斥关系     | userid  |
                    | 用户行为 | 统计型  | 算法型   | 非互斥关系   | cookieid |
                    | 用户消费 |        |         |            |          |
                    | 风险控制 |        |          |           |          |
                </section>
                <section data-markdown>
                    ### 标签主题
                    用于刻画属于那种类型的标签，如用户属性、用户行为、用户消费、风险控制等多种类型，可用A、B、C、D等字母表示各标签主题。
                </section>
                <section data-markdown>
                    ### 标签类型
                    标签类型可划为分类型和统计型这两种类型，其中分类型用于刻画用户属于哪种类型，如是男是女、是否是会员、是否已流失等标签，统计型标签用于刻画统计用户的某些行为次数，如历史购买金额、优惠券使用次数、近30日登陆次数等标签，这类标签都需要对应一个用户相应行为的权重次数。
                </section>
                <section data-markdown>
                    ### 开发方式
                    开发方式可分为统计型开发和算法型开发两大开发方式。其中统计型开发可直接从数据仓库中各主题表建模加工而成，算法型开发需要对数据做机器学习的算法处理得到相应的标签。
                </section>
                <section data-markdown>
                    ### 是否互斥标签
                    对应同一级类目下（如一级标签、二级标签），各标签之间的关系是否为互斥，可将标签划分为互斥关系和非互斥关系。例如对于男、女标签就是互斥关系，同一个用户不是被打上男性标签就是女性标签，对于高活跃、中活跃、低活跃标签也是互斥关系。
                </section>
                <section data-markdown>
                    ### 用户维度
                    用于刻画该标签是打在用户唯一标识（userid）上，还是打在用户使用的设备（cookieid）上。可用U、C等字母分别标识userid和cookieid维度。
                </section>
                <section data-markdown>
                    ## 用户画像架构图
                    ![](2.png)
                </section>
                <section>
                    <h2>用户画像流程</h2>
                    <img src="3.png" height="450">
                </section>
                <section data-markdown>
                    ## 第一阶段：目标解读

                    在建立用户画像前，首先需要明确用户画像服务于企业的对象，根据业务方需求，未来产品建设目标和用户画像分析之后预期效果。
                </section>
                <section data-markdown>
                    ## 第二阶段：任务分解与需求调研

                    经过第一阶段的需求调研和目标解读，我们已经明确了用户画像的服务对象与应用场景，接下来需要针对服务对象的需求侧重点，结合产品现有业务体系和“数据字典”规约实体和标签之间的关联关系，明确分析纬度。
                </section>
                <section data-markdown>
                    ## 第三阶段：需求场景讨论与明确

                    在本阶段，数据运营人员需要根据前面与需求方的沟通结果，输出**《产品用户画像规划文档》**，在该文档中明确画像应用场景、最终开发出的标签内容与应用方式 ，并就该份文档与需求方反复沟通确认无误。
                </section>
                <section data-markdown>
                    ## 第四阶段：应用场景与数据口径确认

                    经过第三个阶段明确了需求场景与最终实现的标签纬度、标签类型后，数据运营人员需要结合业务与数据仓库中已有的相关表，明确与各业务场景相关的数据口径。在该阶段中，数据运营方需要输出**《产品用户画像实施文档》**，该文档需要明确应用场景、标签开发的模型、涉及到的数据库与表，应用实施流程。
                </section>
                <section data-markdown>
                    ## 第五阶段：特征选取与模型数据落表
                    本阶段中数据分析挖掘人员需要根据前面明确的需求场景进行业务建模，写好HQL逻辑，将相应的模型逻辑写入临时表中，抽取数据校验是否符合业务场景需求。
                </section>
                <section data-markdown>
                    ## 第六阶段：线下模型数据验收与测试
                    数据仓库团队的人员将相关数据落表后，设置定时调度任务，进行定期增量更新数据。数据运营人员需要验收数仓加工的HQL逻辑是否符合需求，根据业务需求抽取查看表中数据范围是否在合理范围内，如果发现问题及时反馈给数据仓库人员调整代码逻辑和行为权重的数值。
                </section>
                <section data-markdown>
                    ## 第七阶段：线上模型发布与效果追踪
                    经过第六阶段，数据通过验收之后，就可以将数据接口给到搜索、或技术团队部署上线了。上线后通过对用户点击转化行为的持续追踪，调整优化模型及相关权重配置。
                </section>
                <section data-markdown>
                    ## 开发工具

                    - 数据开发：Spark
                    - 数据存储和查询：Hive, MySQL, ElasticSearch, HBase
                    - 流式计算：Spark Streaming, Flink, Kafka
                    - 作业调度：Crontab, Airflow
                    - 开发语言：Java, Scala, Python, Shell, SQL
                </section>
                <section data-markdown>
                    ## 具体流程

                    1. 数据分析
                    2. 用户画像工程化
                    3. 业务知识
                    4. 画像产品形态及如何服务与业务
                </section>
                <section data-markdown>
                    ## 1. 数据分析

                    如何做数据调研、对于需求方提出的标签如何结合数据情况给出相应的解决方案。
                </section>
                <section data-markdown>
                    ## 2. 用户画像工程化

                    - 用户标签体系中需要开发哪些标签；
                    - 这些标签的调度流是如何构成的；
                    - 如何对每天的调度作业进行监控；
                    - 哪些数据库可用于存储标签，为何用这些数据库进行存储；
                </section>
                <section data-markdown>
                    ## 3. 业务知识

                    需要开发的标签服务于业务上的哪些应用。
                </section>
                <section data-markdown>
                    ## 4. 画像产品形态及如何服务与业务

                    - 画像产品化后包括哪些模块;
                    - 如何评价标签在业务上的应用效果;
                </section>
                <section data-markdown>
                    ## 标签维度

                    - 用户属性维度
                    - 用户行为维度
                    - 用户消费维度
                    - 用户风控维度
                    - 用户行为明细
                </section>



			</div>
		</div>

		<script src="js/reveal.js"></script>

		<script>
			// More info about config & dependencies:
			// - https://github.com/hakimel/reveal.js#configuration
			// - https://github.com/hakimel/reveal.js#dependencies
			Reveal.initialize({
				hash: true,
				dependencies: [
					{ src: 'plugin/markdown/marked.js' },
					{ src: 'plugin/markdown/markdown.js' },
					{ src: 'plugin/highlight/highlight.js' },
					{ src: 'plugin/notes/notes.js', async: true }
				]
			});
		</script>
	</body>
</html>